#ifndef _VN_TILE_ENGINE_H_
#define _VN_TILE_ENGINE_H_

#include <vector>
#include <string>
#include "..\Math\Vector2.h"
#include "..\Graphics\Rect.h"

namespace vn
{
	class TileEngine
	{
	public:
		TileEngine(void) : m_tileSize(0) {}
		virtual ~TileEngine(void) {}

		virtual void loadTiles(const std::string&) = 0;
		virtual void setPosition(const vn::Vector2&) = 0;
		virtual void setDoRender(bool p_value) = 0;

		const vn::Vector2& getPosition() const { return m_position; }
		const vn::FloatRect& getDimension() const { return m_dimension; }


	protected:
		unsigned int m_tileSize;
		vn::Vector2 m_position;
		vn::FloatRect m_dimension;
	};
}

#endif // _VN_TILE_ENGINE_H_